package com.hyx.api.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hyx.api.domain.CustomerWithdraw;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 回收订单数据视图 recycle_order
 *
 * @author ruoyi
 * @date 2023-10-20
 */
@Data
public class RecycleOrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    private Long id;

    /**
     * 回收码
     */
    @Excel(name = "回收码")
    private String code;

    /**
     * 询价订单id
     */
    @Excel(name = "询价订单id")
    private Long inquiryOrderId;

    private String modelName;

    private String iemi;

    /**
     * 回收商ID
     */
    @Excel(name = "回收商ID")
    private Long recycleBusId;

    private String recycleBusName;

    /**
     * 报价师ID
     */
    @Excel(name = "报价师ID")
    private Long recycleOperatorId;

    private String recycleOperatorName;

    /**
     * 价格
     */
    @Excel(name = "价格")
    private BigDecimal price;

    /**
     * 门店ID
     */
    @Excel(name = "门店ID")
    private Long shopId;

    private String shopName;

    /**
     * 公司ID
     */
    @Excel(name = "公司ID")
    private Long companyId;

    private String companyName;

    /**
     * 店员ID
     */
    @Excel(name = "店员ID")
    private Long operatorId;

    private String operatorName;

    /**
     * 状态（1：待付款  2：待发货  3：待收货  4：已完成  5：取消）
     */
    @Excel(name = "状态", readConverterExp = "1=：待付款,2=：待发货,3=：待收货,4=：已完成,5=：取消,5=：已退单")
    private Integer status;

    /**
     * 回收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recycleTime;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shipmentsTime;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号")
    private String expressageNo;

    /**
     * 收货地址ID
     */
    @Excel(name = "收货地址ID")
    private Long receivingAddrId;

    /**
     * 收货地址
     */
    private String receivingAddr;

    /**
     * 收货人姓名
     */
    private String receivingName;

    /**
     * 收货人联系电话
     */
    private String receivingMobile;

    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receivingTime;

    /**
     * 是否追差（0：否  1：是）
     */
    @Excel(name = "是否追差", readConverterExp = "0=：否,1=：是")
    private Integer isCatchUp;

    /**
     * 是否退货（0：否 1：是）
     */
    @Excel(name = "是否退货", readConverterExp = "0=：否,1=：是")
    private Integer isRefund;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private Long offerId;
    /**
     * 退货订单
     */
    private List<RefundOrderVo> refundOrderVo;

    /**
     * 追差订单
     */
    private List<SpreadOrderVo> spreadOrderVo;

    /**
     * 提现详情
     */
    private CustomerWithdraw customerWithdraw;
}

